home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / c_lang / tccurses.lzh / SETTERM.C < prev    next >
C/C++ Source or Header  |  1987-09-07  |  3KB  |  101 lines

  1. /****************************************************************/
  2. /* Raw(), noraw(), echo(), noecho(), nl(), nonl(),  cbreak(),    */
  3. /* nocbreak(), crmode(), nocrmode() and refrbrk() routines of    */
  4. /* the PCcurses package.                    */
  5. /*                                */
  6. /****************************************************************/
  7. /* This version of curses is based on ncurses, a curses version    */
  8. /* originally written by Pavel Curtis at Cornell University.    */
  9. /* I have made substantial changes to make it run on IBM PC's,    */
  10. /* and therefore consider myself free to make it public domain.    */
  11. /*        Bjorn Larsson (...mcvax!enea!infovax!bl)    */
  12. /****************************************************************/
  13. /* 1.0:    Release:                    870515    */
  14. /****************************************************************/
  15.  
  16. #include <curses.h>
  17. #include <curspriv.h>
  18.  
  19. /****************************************************************/
  20. /* Raw() and noraw() sets or clears raw mode.            */
  21. /****************************************************************/
  22.  
  23. void  raw()
  24.   {
  25.   _cursvar.raw = TRUE;
  26.   _cursesscb(FALSE);            /* disallow ^BREAK on disk I/O */
  27.   flushinp();
  28.   } /* raw */
  29.  
  30. void  noraw()
  31.   {
  32.   _cursvar.raw = FALSE;
  33.   _cursesscb(_cursvar.orgcbr);        /* restore original ^BREAK status */
  34.   } /* noraw */
  35.  
  36. /****************************************************************/
  37. /* Echo() and noecho() sets or clears echo mode.        */
  38. /****************************************************************/
  39.  
  40. void  echo()
  41.   {
  42.   _cursvar.echo = TRUE;
  43.   } /* echo */
  44.  
  45. void  noecho()
  46.   {
  47.   _cursvar.echo = FALSE;
  48.   } /* noecho */
  49.  
  50. /****************************************************************/
  51. /* Nl() and nonl() sets or clears autocr mapping mode.        */
  52. /****************************************************************/
  53.  
  54. void  nl()
  55.   {
  56.   _cursvar.autocr = TRUE;
  57.   } /* nl */
  58.  
  59. void  nonl()
  60.   {
  61.   _cursvar.autocr = FALSE;
  62.   } /* nonl */
  63.  
  64. /****************************************************************/
  65. /* Cbreak(), nocbreak(), crmode() amd nocrmode()  sets or    */
  66. /* clears cbreak mode.                        */
  67. /****************************************************************/
  68.  
  69. void  cbreak()
  70.   {
  71.   _cursvar.cbreak = TRUE;
  72.   } /* cbreak */
  73.  
  74. void  nocbreak()
  75.   {
  76.   _cursvar.cbreak = FALSE;
  77.   } /* nocbreak */
  78.  
  79. void  crmode()
  80.   {
  81.   _cursvar.cbreak = TRUE;
  82.   } /* crmode */
  83.  
  84. void  nocrmode()
  85.   {
  86.   _cursvar.cbreak = FALSE;
  87.   } /* nocrmode */
  88.  
  89. /****************************************************************/
  90. /* Refrbrk() sets or unsets the screen refresh break flag. If    */
  91. /* this flag is set, and there is any input available, any    */
  92. /* screen refresh will be prematurely terminated, anticipating    */
  93. /* more screen updates. This flag is FALSE by default.        */
  94. /****************************************************************/
  95.  
  96. void    refrbrk(bf)
  97.   bool    bf;
  98.   {
  99.   _cursvar.refrbrk = bf;
  100.   } /* refrbrk */
  101.